home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr45 / convt2sn.zip / CONV2SND.DOC < prev    next >
Text File  |  1993-02-03  |  11KB  |  292 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                        (******CONV2SND.DOC******)
  7.                         *                      *
  8.                         *  Revision 1.09 (DOC) *
  9.                         *                      *
  10.                         *  CONV2SND.PAS: 1.98  *
  11.                         *                      *
  12.                         *   February 3, 1993   *
  13.                         *                      *
  14.                         *     Kenneth Udut     *
  15.                         *                      *
  16.                        (******CONV2SND.DOC******)
  17.  
  18.  
  19.  
  20.  
  21.  
  22. CONV2SND.EXE, CONV2SND.PAS, CONV2SND.DOC, CONV2SND.HST HEREBY ARE
  23. RELEASED INTO THE PUBLIC DOMAIN.  UNLESS SPECIAL CIRCUMSTANCES WARRENT
  24. OTHERWISE, EVERY SOFTWARE PRODUCT CREATED BY (_KENNETH UDUT_) WILL:
  25.  
  26. 1. BE RELEASED INTO THE PUBLIC DOMAIN, FREELY COPYABLE AND CHANGEABLE.
  27.  
  28. 2. INCLUDE THE SOURCE CODE.
  29.  
  30. AS THE AUTHOR OF (_CONV2SND_), I WOULDN'T MIND CREDIT FOR MY WORK.  
  31. HOWEVER, IT IS *NOT* A NECESSITY, SO DON'T WORRY ABOUT IT! :)
  32.  
  33. now enough of this screaming!
  34.  
  35.  
  36.  
  37. 1.  CONV2SND is a program with one thing in mind:  To open the worlds
  38.     of digitized sounds created on other machines and by other methods
  39.     to anyone using a Tandy 1000 SL, TL, RL, RLX, 2500 RLX, RSX and
  40.     every other machine that uses:
  41.  
  42.     SOUND.PDM
  43.  
  44.     I wish that Tandy had created something a few years ago that would
  45.     have done this, as it might have kept the Tandy's with the
  46.     surpurb 8-bit DAC a little more in step with the SoundBlaster, 
  47.     the Macintosh, the Amiga and the Atari ST, all of which are able
  48.     to create surpurb digitized sounds and have programs that allow
  49.     you to share them with one another.
  50.  
  51.     So, here it is.  
  52.  
  53.  
  54. 2.  Usage:  CONV2SND filename.  The process will then take place 
  55.     automatically.
  56.  
  57.     It does not check for disk space, yet.  For now, simply make sure
  58.     that there is enough space on the disk for ANOTHER copy of the
  59.     file you are converting plus 44 bytes.
  60.  
  61.     You will be asked a couple of questions.
  62.  
  63.     A) Asks about the sampling rate.  ("Speed of playback")
  64.  
  65.        5500 is a slow sampling rate, often used for speech purposes or some
  66.             games.
  67.  
  68.        11000 is the the most common sampling rate.  It is #2 on the selection
  69.              list and the one you will want to try first.  The only reason it
  70.              is so popular is that it is of sufficient quality for music and
  71.              such.  5500 really isn't.  WAV files are usually sampled at 11000
  72.              samples per second.
  73.  
  74.        22000 is most often used with the Macintosh Sound files.  It is of
  75.              a higher quality, but it does take up more disk space, which is
  76.              why it is the 2nd most popular sampling rate to record at.
  77.  
  78.        If you screw up and select the wrong one, that's okay!  Just redo the
  79.        procedure and select a different rate next time!
  80.  
  81.     B) Asks for the "name" of the sound.
  82.  
  83.         This isn't the file name.  This is the name that appears when you
  84.         are in SOUND.PDM, right next to "Name: ", in the right hand box.
  85.         The only reason I "require" that you answer it at the moment is that
  86.         it's important to have a 'hard coded' name for the sound, just in case
  87.         the file name gets changed.
  88.  
  89.         You can read the name of the sound by typing DEBUG filename.snd and
  90.         then "d".  You will see the name of the sound file in the right hand
  91.         size of the screen.  (NOTE: "q' gets you out of DEBUG)
  92.  
  93.     C) Asks for your name.  No real reason yet, but I'm thinking of one!
  94.  
  95.  
  96.     A file called DM_SOUND.SND will be created.  This is the DeskMate
  97.     SOUND version of the other digitized file.  As of version 1.77, 
  98.     there isn't a way to change the sampling rate, but that will
  99.     be an option with the next release (coming shortly).
  100.  
  101.  
  102. 3.  You will need to do the following after the file is created:
  103.  
  104.  
  105.     * Go into SOUND.PDM, and load the file (F2, Open)
  106.  
  107.     * Open DM_SOUND.SND. That is your sound file in DeskMate SND form.
  108.  
  109.     * You will see "Unexpected End-Of-File" error.
  110.       DON'T WORRY -- that is normal.  I will explain in a minute.
  111.  
  112.     * Play the file, and carefully remove the nasty noise, or dropout
  113.       at the end of the file, using very small increments (.001
  114.       seconds works for me).
  115.  
  116.     * Hit F2 and do a Save As...  Name the file something MEMORABLE, 
  117.       preferably similar to the name of the file you just converted!
  118.  
  119.       Example: ROCKY.WAV is converted into DM_SOUND.SND
  120.          After getting rid of the little end noise (and possibly
  121.          some beginning noise as well), hit F2, Save As... and name
  122.          the file ROCKY.
  123.  
  124.  
  125. That's it!  My phone (908) 241-6246 is open for your use up 'till 
  126. about 11pm or so.  I'm kudut@hamp.hampshire.edu on the Internet, and
  127. Kenneth Udut, 170 East Clay Avenue, Roselle Park, NJ USA 07204-2050.
  128.  
  129.  
  130. P.S. -- The reason you get "Unexpected End-Of-File During Read" is that
  131.         the "sample size" (number of 'sound samples' in the file) is
  132.         hard coded into the header, as you shall see below.
  133.  
  134.         Since I don't have the math precisely right, DeskMate SOUND will
  135.         read just a few more bytes than it needs to, causing the error.
  136.  
  137.         And, in case you are wondering, you will *not* be destroying the
  138.         'next file' on the disk (which is what it is reading in), so you
  139.         can let your breath out now!  :)        {Ken, on Feb 3, 1993}
  140.  
  141.  
  142.  
  143.  
  144.            -----------[technical stuff]------------
  145.  
  146.  
  147.  
  148.  
  149. digitized sound files are practically all identical in makeup.
  150. atari, amiga, tandy, soundblaster, sun, all create the same basic
  151. digitized sound files.
  152.  
  153. the difference lies in the 'header'.
  154.  
  155. the header of a file is a small series of bytes, 44 in the case of 
  156. DeskMate .SND files.  The purpose of a header?
  157.  
  158. a header tells the program how big the file is, as most programs
  159. that read digitized sound files need to be specially told how many
  160. bits of sound it needs to load up.  it also might tell you the 'name'
  161. or description of the sound file.  the sampling rate (how fast the
  162. sound was recorded and should be played back) is also usually 
  163. included.
  164.  
  165. here is the makeup of deskmate SOUND.PDM digitized sound files:
  166.  
  167. [thanks to Christopher Taveres for this information]
  168.  
  169. ======================================================================
  170.  
  171. /* Sound Off!
  172. /* Written by Christopher Taveres 
  173. /* Copyright (c) January 1992
  174. /* Falsoft, Inc.
  175. /* PCM
  176. /** Definintion for the header block for Deskmate .snd files **/
  177.  
  178. struct dmheader {            /* Structure of the header block      */
  179.        int marker;           /* Marker bytes - should be 00 1a     */
  180.        char note_count;      /* Number of notes in instrument file */
  181.        char inst_num;        /* Instrument number                  */
  182.        char inst_name[10];   /* Instrument name                    */
  183.        int sample_rate;      /* Sampling rate                      */
  184.        char filler[16];      /* I don't know what this does        */
  185.        unsigned long sample_size;  /* Number of samples in file    */
  186.        char filler2[8];      /* More unknown space                 */
  187.  
  188. ======================================================================
  189.  
  190.  
  191. There are 44 bytes in a deskmate sound file header.
  192.  
  193. Here is PIANO.SND's header decoded for you!
  194. (If you type DEBUG PIANO.SND, then d you can see this for yourself!)
  195.  
  196.  
  197. 1A 01 03 02 50 69 61 6E-6F 00 00 00 00 00 F8 2A   ....Piano......*
  198. \___/  |  | \___________________________/ \____/
  199.   |    |  |    |                             |_____Sampling Rate
  200.   |    |  |    |___Instrument/Sound Name
  201.   |    |  |
  202.   |    |  |_____Instrument Number
  203.   |    |
  204.   |    |________Number of Instruments in file
  205.   |
  206.   |_____________Marker blocks.  Either 1A 01 or 00 1A it seems.
  207.  
  208.  
  209.  
  210. 10 00 01 19 64 00 00 00-0A 22 00 00 00 00 00 00   ....d...."......
  211. \_____________________________________________/
  212.     \
  213.      \__________Haven't a clue as to what it does, yet!
  214.  
  215.  
  216. 13 3B 00 00 00 00 00 00-00 00 00 00 1C 00 1A 27   .;.............'
  217. \_________/ \______________________/\_________/
  218.     \          \___More unknown.             \___start of piano sound.
  219.      \
  220.       \_____Number of samples in the file.  VERY hard for me
  221.             to figure out.  Check out source code.  Wierd math
  222.             seems to be involved, and I don't fully understand what
  223.             I did!
  224.  
  225.  
  226.  
  227. I first attempted to recreate the structure that I saw in the
  228. SOUNDOFF.C file (which is copyrighted by PCM, the Tandy magazine) in
  229. Turbo Pascal 6.0, but I wasn't successful.  Whatever it created was
  230. NOT the header file it should have been!
  231.  
  232. So, I did it bit by bit.  By golly - it worked!  Realizing that I
  233. could do this opened up a whole new world!  In no short order, I might
  234. just be able to get together a simple program that allows you to 
  235. switch headers back and forth from different digitized sound files!
  236. From DeskMate to Windows .WAV!  
  237.  
  238. If you feel you're up to the task, you're welcome to the challenge!
  239. This may be the only bit of programming I do in this respect.
  240.  
  241. All I need to do now is to figure out how to precisely get the
  242. digitized sound file size right so that there isn't that
  243. "Unexpected End-of-file during read." error.
  244.  
  245.  
  246.  
  247. Thanks for reading and hope you NOT ONLY enjoy using it, but also
  248. play around with the source code and work with it!  
  249.  
  250. I want to see a world where source code is freely distributable, where
  251. there isn't all that "data-hiding" and all that.  I would hate to see
  252. a society where the 'elite programmers' only knew the secrets of 
  253. 'real' programming, while the pions were kept down low...
  254.  
  255. I prefer openness and honesty, personally :)
  256.  
  257. Talk to you soon!
  258.  
  259. --Ken
  260.  
  261. February 3, 1993
  262.  
  263.  
  264.  
  265.  
  266. FIDONET: Kenneth Udut @ 1:107/900
  267. INTERNET: kudut@hamp.hampshire.edu
  268. America Online: K Udut
  269. PC-Link: K Udut
  270. CompuServe: INTERNET> kudut@hamp.hampshire.edu
  271. BITNET: kudut%hamp.hampshire.edu@yalevm.bitnet
  272.  
  273. Home Address:
  274. Kenneth Udut
  275. 170 East Clay Avenue
  276. Roselle Park, New Jersey 07204-2050
  277.  
  278. Phone Numbers:
  279. (908) 241-6246
  280. (908) 241-8528  --  FAX number
  281.  
  282. Can be found on:
  283. The Juice Bar BBS, located in Roselle Park, New Jersey, USA
  284. (908) 298-0764.  I'm user #11, and a VERY VERY active poster!
  285.  
  286. I also run a list on BITNET. 
  287. Y-RIGHTS@SJUVM.BITNET - discussion on the rights of kids and teens.
  288.  
  289.  
  290. Leave me a message somewhere or give me a phone call!  
  291. I'll set a pot of tea out for you and we'll chat :)
  292.